#!/bin/bash

# 个性化 WebHook 管理器 v3.0
# 测试脚本：自定义传参(URL变量参数、位置参数、Git平台数据)
# 作者：宋利军
# 版本：3.0

# WebHook多参方式测试脚本
# 三种传参方案：URL变量参数、位置参数、通用Git平台数据
echo "=== WebHook多参方式测试脚本 ==="
echo "执行时间: $(date '+%Y-%m-%d %H:%M:%S')"
echo

# 方式1：URL查询参数（通过参数变量获取）
echo "--- 方式1：URL查询参数 ---"
echo "参数名称方式获取："
echo "  name参数: ${name:-未设置}"
echo "  age参数: ${age:-未设置}"
echo "  sex参数: ${sex:-未设置}"
echo "  project参数: ${project:-未设置}"
echo "  action参数: ${action:-未设置}"
echo

# 方式2：位置参数（通过$1、$2、$3...获取）
echo "--- 方式2：位置参数 ---"
echo "位置参数方式获取（按URL参数值顺序）："
echo "  第1个参数(\$1): ${1:-未设置}"
echo "  第2个参数(\$2): ${2:-未设置}"
echo "  第3个参数(\$3): ${3:-未设置}"
echo "  第4个参数(\$4): ${4:-未设置}"
echo "  第5个参数(\$5): ${5:-未设置}"
echo "  参数总数: $#"
echo "  说明：位置参数按URL参数值的顺序获取，与参数名无关"
echo

# 方式3：Git平台数据（通过GIT_前缀环境变量获取）
echo "--- 方式3：Git平台数据 ---"
echo "Git平台信息："
echo "  平台类型: ${GIT_PLATFORM:-未设置}"
echo "  仓库名称: ${GIT_REPO_NAME:-未设置}"
echo "  仓库地址: ${GIT_REPO_URL:-未设置}"
echo "  分支名称: ${GIT_BRANCH:-未设置}"
echo "  提交ID: ${GIT_COMMIT_ID:-未设置}"
echo "  提交信息: ${GIT_COMMIT_MESSAGE:-未设置}"
echo "  作者: ${GIT_AUTHOR:-未设置}"
echo "  提交者: ${GIT_COMMITTER:-未设置}"
if [ -n "$GIT_FILES_CHANGED" ]; then
    echo "  变更文件:"
    echo -e "$GIT_FILES_CHANGED" | sed 's/^/     /'
else
    echo "  变更文件: 未设置"
fi
echo

# 实际应用示例
echo "--- 实际应用示例 ---"

# 根据参数执行不同操作
if [ -n "$action" ]; then
    case "$action" in
        "deploy")
            echo "执行部署操作..."
            echo "部署项目: ${project:-默认项目}"
            echo "部署分支: ${GIT_BRANCH:-main}"
            echo "部署提交: ${GIT_COMMIT_ID:-最新}"
            ;;
        "backup")
            echo "执行备份操作..."
            echo "备份项目: ${project:-默认项目}"
            echo "备份时间: $(date '+%Y%m%d_%H%M%S')"
            ;;
        "test")
            echo "执行测试操作..."
            echo "测试项目: ${project:-默认项目}"
            echo "测试分支: ${GIT_BRANCH:-main}"
            ;;
        *)
            echo "未知操作: $action"
            ;;
    esac
else
    echo "未指定操作，执行默认流程..."
fi

# 根据Git平台执行特定操作
if [ -n "$GIT_PLATFORM" ]; then
    echo "检测到Git平台: $GIT_PLATFORM"
    case "$GIT_PLATFORM" in
        "github")
            echo "GitHub平台特定处理..."
            ;;
        "gitlab")
            echo "GitLab平台特定处理..."
            ;;
        "gitee")
            echo "码云平台特定处理..."
            ;;
        "coding")
            echo "工蜂Git平台特定处理..."
            ;;
    esac
fi

echo "=== 测试完成 ==="
